From 4682d563cff99cc92734bfd9bda53eb8e6041ddf Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 19 Jul 2010 15:01:04 +0200 Subject: [PATCH] GtkWindow: keep a reference of the widget on focus change. Focus out could lead to the widget being destroyed (for example, in editable cell renderers when DnD starts), so keep the widget alive while iterating through the devices. --- gtk/gtkwindow.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index a9fa7185ee..ce22ae6c92 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -5253,6 +5253,8 @@ do_focus_change (GtkWidget *widget, GdkDeviceManager *device_manager; GList *devices, *d; + g_object_ref (widget); + device_manager = gdk_display_get_device_manager (gtk_widget_get_display (widget)); devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); devices = g_list_concat (devices, gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_SLAVE)); @@ -5289,6 +5291,7 @@ do_focus_change (GtkWidget *widget, } g_list_free (devices); + g_object_unref (widget); } static gint -- 2.30.2